<?php

namespace Org\Util;

/**
 * Description 业务逻辑状态码
 *
 * @author songanwei
 * @modify trainyao 2015-10-15 添加多语言
 * @date 2015-09-25
 */
class LogicStatus {

    protected static $status = array(
        200 => array(
            200 => '_SUCCESS_', // 成功
        ),
        403 => array(
            // 1** 帐号相关
            100 => '_USER_NOT_EXIST_', // 用户不存在
            101 => '_PASSWORD_IS_NOT_RIGHT_', // 密码不正确
            102 => '_OLD_PASSWORD_IS_NOT_RIGHT_', // 原密码有误
            // 103 => '_NEW_PASSWORD_INVALID_', // 新密码有误
            104 => '_USER_ALREADY_EXIST_', // 用户已经存在
            105 => '_MOBILE_ALREADY_EXIST_', //手机号已注册
            106 => '_NEW_MOBILE_INVALID_', //新手机号不能与原手机号相同
            107 => '_A_MINUTE_LATER_TRY_AGAIN_', // 不能重复发送短信,请稍后再试
            // 108 => '_EMAIL_REQUEST_TOO_FREQUENT_', // 邮件请求过于频繁，请稍后再试
            // 110 => '_USER_ALREADY_EXIST_', // 用户已经存在
            120 => '_SMS_VERIFICATION_CODE_INVALID_', // 短信校验码错误
            121 => '_VERIFICATION_CODE_INVALID_LENGTH_', // 校验码格式错误
            122 => '_VERIFICATION_CODE_INVALID_', // 校验码校验不通过
            // 123 => '_RESET_PASSWORD_FAILED_', // 重置登录密码失败
            130 => '_MOBILE_FORMAT_ERROR_', // 手机号格式错误
            // 131 => '_LANDLINE_NUMBER_INVALID_', // 电话号码错误
            // 132 => '_FAX_INVALID_', // 传真错误
            // 141 => '_EMAIL_INVALID_', // 邮箱错误
            // 142 => '_EMAIL_ALREADY_SIGN_UP_',// 邮箱已注册
            // 143 => '_DATA_EXCEPTION_',//数据异常
            // 150 => '_EMAIL_REQUEST_FAILED_', // 邮箱发送验证码失败
            // 152 => '_EMAIL_REQUEST_FAILED_', // 发送链接邮件失败
            151 => '_SEND_MESSAGE_FAILED_', // 发送短信失败
            153 => '_CHECKCODE_IS_EXPIRED_', // 手机验证码已过期
            // 160 => '_PAGE_NUMBER_EMPTY_',//页码参数不能为空
            // 161 => '_PAGE_NUMBER_INVALID_',// 页码参数有误
            // 162 => '_PAGE_TOTAL_INVALID_',// 页面总数有误
            // 163 => '_PAGE_NUMBER_INVALID_',// 页码参数有误
            // 164 => '_EMAIL_HAS_NOT_SIGN_UP_',//邮箱尚未注册
            // 165 => '_MOBILE_IS_NOT_EXIST_', // 手机号尚未注册
            // 167 => '_NO_BIND_PHONE_NUMBER_', //尚未绑定手机号
            201 => '_WRONG_IMAGECODE_', // 图片验证码错误
            202 => '_NO_PERMISSION_', // 没有权限进行此操作
            203 => '_DID_NOT_LOGIN_', // 尚未登录
            204 => '_JS_MP_VERIFY_', // 微信js回调验证
            205 => '_VERSION_CHECK_', // 有新功能,请更新版本
            206 => '_APP_NOT_OPEN_', // APP端未开通
            212 => '_PARAMETER_IS_NOT_RIGHT_', // 参数信息不完整
            213 => '_DATA_EXCEPTION_', // 参数格式错误
            214 => '_PARAMETER_CANNOT_BE_EMPTY_', // 参数信息不能为空
            215 => '_DATA_FORMAT_ERROR_', //用户输入数据格式错误
            216 => '_AREA_CODE_NOT_SUPPORT_',  //区号暂不支持
            217 => '_CHARACTER_INVALID_STRLEN_',  //字符长度过长
            // 207 => '_TOKEN_VALIDATION_FAILED_', // token 验证失败
            208 => '_ID_CARD_FORMAT_ERROR_', //身份证格式错误
            // 209 => '_CHARACTER_INVALID_LENGTH_',// 字符长度有误
            210 => '_ADMIN_IN_OTHER_GROUP_', // 该管理员已存在其他组内
            211 => '_ADMIN_IN_OTHER_DEALER_', // 该掌柜号码不属于您经销商内
            220 => '_OUT_RANGE_',
            // 房型房间相关
            300 => '_ROOM_IN_ORDER_NOT_CANCEL_', // 该房型存在有效订单,无法删除
            301 => '_ROOM_NOT_EXIST_', //找不到该房间数据
            302 => '_ROOM_TYPE_EXIST_', // 该房型已存在
            303 => '_ROOM_EXIST_', // 该房型已存在
            304 => '_ROOM_TYPE_NOT_UP_BOOK_', // 该房型尚未上架
            305 => '_ROOM_TYPE_ONLINE_RULE_', // 请至少设置封面和价格再进行上架
            306 => '_ROOM_NOT_UP_BOOK_', // 该房间暂不可预定
            307 => '_ROOM_TYPE_NOT_UP_BOOK_', // 该房型暂不可预定
            308 => '_ROOM_DIRTY_DATA_', // 当天之前有未处理的房间或脏房
            309 => '_ROOM_REPEAT_IN_QRM_', //该房型在锁掌柜有重复
            310 => '_PRICE_LOWER_THAN_ZERO_', //优惠后的价格不能少于0元
            311 => '_ROOM_AFTERPRICE_LOWER_MINUS_', // 打折后价格不能低于立减优惠金额，请重设
            312 => '_ROOM_PRICE_LOWER_MINUS_', // 价格不能低于立减优惠金额，请重设
            313 => '_ROOM_LASTPRICE_LOWER_MINUS_', // 房型尾房特卖价格不能低于立减优惠金额，请重设
            314 => '_ROOM_BOOKPRICE_LOWER_MINUS_', // 房价打折后的分销价不能低于立减优惠金额，请重设
            315 => '_ROOM_DATEPRICE_LOWER_MINUS_', // 立减优惠金额不能高于微预定价格日历最低价，请重设
            316 => '_ROOM_NOT_EDIT_ROOMTYPE', // 立减优惠暂时不支持修改房型
            317 => '_ROOM_SERVICE_TEM_TIME', // 开始时间小于结束时间
            318 => '_ROOM_LIMIT_', // 无法新增，已超出房间数量限制，请联系客服处理
            // 客栈相关
            400 => '_NO_HOTEL_DATA_', // 找不到该客栈数据
            401 => '_HOTEL_DISABLE_', // 该客栈已被禁用
            402 => '_HOTEL_NOT_BIND_COMMUNITY_', // 该客栈未绑定锁掌柜集群
            403 => '_QRM_LOGIN_FAIL_', // 授权登录锁掌柜失败,请重试
            404 => '_PAY_EXIST_', // 该支付方式已存在
            405 => '_HOTEL_APPLY_EXIST_', //该手机用户已申请
            406 => '_OVER_TEN_', // 已达到上限
            407 => '_NO_AVALIBLE_COMMUNITY_', // 该锁掌柜帐号无具有管理权限的认证集群
            408 => '_HOTEL_EXPIRED_', //客栈已过期
            409 => '_NOT_ENABLE_BOOK_',  // 尚未开通美住微预定
            410 => '_ALREADY_ENABLE_BOOK_',  // 已开通美住微预定
            411 => '_BOOK_BASE_DETAIL_NOT_FILL_',  // 客栈基本信息未完善
            412 => '_HOTEL_PAY_NUMBER_MORE_THAN_',  // 客栈基本信息未完善
            413 => '_MANAGER_NOT_IN_HOTEL_',  // 子管理员不存在该客栈内
            414 => '_OVER_ROOMTYPE_IMAGE_TEN_',  // 房型图册图片上传已达到上限
            415 => '_OVER_HOTEL_IMAGE_TEN_',  // 客栈图片上传已达到上限
            416 => '_BOOK_OUT_DATE_',  // 微预定已过期
            417 => '_BOOK_CLOSED_',  // 微预定已被关闭
            418 => '_MANAGE_DATA_CHANGE_',  // 掌柜说数据有变化,请刷新
            419 => '_HOTEL_ORDER_TIME',  // 最迟退房时间必须大于最早入住时间
            420 => '_HOTEL_EXIST_',  // 客栈已经存在
            421 => '_HOTEL_ROOMS_MAX',  // 义卖客栈房间不能超过5间
            422 => '_HOTEL_FREE_PAYUCLBRT',  // 义卖客栈只能畅联代收
            423 => '_ADD_HOTEL_APPLY_EXIST_',  // 客栈已申请
            424 => '_CHARITY_HOTEL_ONLY_ONE_',  // 已经存在义卖客栈
            425 => '_CHARITY_PRICE_MIN_',  // 义卖价必须小于房价
            426 => '_PRICE_MAX_CHARITY_',  // 卖价必须大于义卖价
            427 => '_CHARITY_PRICE_MIN_ORDERPRICE_',  // 义卖价小于打折后的分销价
            428 => '_CHARITY_PRICE_MIN_CUBICLEZ_DSLE_',  // 义卖价小于尾房特卖价
            429 => '_HOTEL_NOT_OPEN_', // 该客栈未开通
            430 => '_NOTE_EXIST_', // 该项目已存在

            //订单
            500 => '_BOOK_ROOM_REPEAT_', //预订房间重复
            501 => '_ORDER_NOT_EXIST_', //找不到该订单数据
            502 => '_ONLY_CHECKIN_TODAY_ORDER_', // 只能为今天或今天以前的订单办理入住
            503 => '_REFUND_PRICE_HIGHER_RECEIPT_', //  退款金额大于代收金额
            504 => '_ORDER_MOBILE_NOT_EXIST_', //找不到该订单的手机号
            505 => '_ORDER_NOT_CHECK_IN_', // 该订单不在入住状态
            506 => '_ORDER_CHECK_IN_OUTDATE_', // 该订单入住时间已过期
            507 => '_ORDER_CHECK_IN_RESEND_BOUNDARY_', // 每个订单最多重发短信房卡三次
            508 => '_ORDER_CHECK_IN_NO_CARD_CREATED_', // 该订单还未生成房卡
            509 => '_PRINT_ONE_MINUTE_', // 打印过于频繁,请一分钟后再试
            510 => '_NO_ID_INFO_', // 没有身份证数据
            511 => '_UPLOAD_FILE_SIZE_', // 上传文件过大
            512 => 'ORDER_CHANGE_BOOK_WEB_NOT_EDIT', // 微预定下的订单不可修改支付记录
            513 => 'THE_ORDER_NOTFIX_DATE', // 该订单不支持修改时间
            514 => '_ROOM_SERVICE_TIME_NOT', // 当前日期是维修时间
            515 => '_ROOM_SERVICE_EXIST_ORDER', // 当前日期存在订单
            516 => '_CURRENCY_EXIST_', // 货币已存在

            // 6** 客栈预定端相关
            600 => '_BAIDU_GEO_INFO_NO_DATA_', // 查询地址地理位置失败,请完善地址信息
            601 => '_CARD_OUTDATE_', // 房卡已过期
            602 => '_CARD_NOT_YET_', // 尚未到获取房卡时间
            603 => '_CARD_MAKE_FAILED_', // 房卡生成失败
            604 => '_FINISH_WECHAT_ALI_FIRST_', // 请先完善微信支付或支付宝支付信息
            605 => '_BOOK_ROOM_ONLY3', // 最多预定三个房间
            606 => '_ROOM_NO_CODE_', //该房间不支持二维码，请与掌柜联系
            607 => '_CARD_IS_RF_CARD_', // 该房间不支持二维码钥匙
            608 => '_PAY_UNOPENED_', // 支付方式未开通

            // 7** 推送消息相关
            700 => '_NEWSPUSH_NOT_', // 没有推送消息
            701 => '_NEWSPUSH_NOT_HISTORY', // 没有消息操作历史
            702 => '_NEWSPUSH_CHANGE_', // 数据有改变，请刷新
            703 => '_NEWSPUSH_NOT_CHACH_', // 没有符合条件消息
            704 => '_PUSH_FAIL_', // 推送失败
            705 => '_PUSH_COUNT_', // 已达到推送次数
            706 => '_EDIT_DESCRIPTION_', // 请编辑描述

            //7** 会员相关
            707 => '_VIP_NAME_DUPLICATE_', // 会员等级重复
            708 => '_VIP_LEVEL_RULE_DUPLICATE_', // 会员升级方式重复
            709 => '_VIP_MOBILE_DUPLICATE_', // 会员手机号码已存在
            710 => '_VIP_CARD_NO_MONEY_', // 会员卡余额不足
            711 => '_VIP_CARD_NO_DEPOSIT_PAY_', // 会员卡暂不支持押金支付
            712 => '_VIP_CARD_NO_MONEY_99', // 会员卡余额不能超过 999999.99
            713 => '_HAVE_CHECK_', // 已检查

            // 8** 推送消息相关
            800 => '_NEWSPUSH_NOT_', // 没有推送消息
            801 => '_NEWSPUSH_NOT_HISTORY', // 没有消息操作历史
            802 => '_NEWSPUSH_CHANGE_', // 数据有改变，请刷新
            803 => '_NEWSPUSH_NOT_CHACH_', // 没有符合条件消息
            804 => '_HOST_ERROR_', // 域名错误
            805 => '_HTTP_ERROR_', // 请填写http协议头

            // 移动端接口太久请求升级
            999 => '_SORRY_NEED_TO_BE_UPGRADED_', // 抱歉，该功能使用需升级新版本
            9999 => '_TEMP_SORRY_NEED_TO_BE_UPGRADED_', // 抱歉，该功能使用需升级新版本

            // 1000 优惠券相关
            1000  => '_USER_COUPON_MAX_', // 优惠券已领取
            1001  => '_HOTEL_COUPON_MAX_', // 优惠券已领取完
            1002  => '_HOTEL_COUPON_NUMBER_MAX_', // 优惠券领取数量不能大于优惠券数量
            1003  => '_HOTEL_COUPON_NOT_USE_', // 优惠券不可用
        ),
        //其他
        500 => array(
            501 => '_DB_EXCEPTION_', // 数据库异常
            502 => '_OUT_OF_MEMORY_', // 内存溢出
            503 => '_DB_EXCEPTION_', // 数据库异常
            504 => '_DATA_NOT_EXIST_', /// 数据不存在
            505 => '_TOKEN_ENCRYPT_FAILED_', // token加密失败
            506 => '_EDIT_FAILURE_', // 修改失败
            507 => '_NOT_IN_ROOM_CARD_PERIOD_', // 不在获取房卡时间段内
            508 => '_ADD_FAILURE_', // 添加失败
            509 => '_UPDATE_FAILURE_', // 更新失败
            510 => '_DELETE_FAILURE_', // 删除失败
            511 => '_UPLOAD_FAILED_', // 上传失败
            512 => '_SELECT_FAILED_', // 查询失败
            513 => '_CREATE_FILE_FAILED_', // 文件创建失败
            514 => '_ITEM_IS_ADD', // 该条目已添加
            515 => '_ITEM_IS_DELETE', // 该条目已删除
        )
    );

    /**
     * 取出业务逻辑描述信息
     * @modify trainyao 2015-10-15 添加多语言
     * @param  integer $httpStatus   Http状态码
     * @param  integer $logicStatus  Http业务状态码
     * @return 业务逻辑描述信息
     */
    static function getInfo($httpStatus, $logicStatus) {
        $info = self::$status[$httpStatus][$logicStatus];
        if (empty($info)) {
            return '';
        }
        $info = L($info);
        return empty($info) ? '' : $info;
    }

}
